﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SeizyUtils.Common.Data.Database
{
    /// <summary>
    /// 登録・更新処理を展開するための情報を設定します。
    /// 変更時、設定されるべき値等を設定します。
    /// また特殊な値を指定するカラムの設定などもできます。
    /// </summary>
    interface IPostConfig
    {

        /// <summary>
        /// 登録・更新先のテーブル名を指定します。
        /// </summary>
        /// <param name="tableName"></param>
        void setTableName(string tableName);

        /// <summary>
        /// 主キーとなるカラムを登録します。
        /// </summary>
        /// <param name="column"></param>
        void addPrimary(string column);

        /// <summary>
        /// 固定値を設定したいカラムと値を登録します。
        /// 固定値は例えば、日付け型のsysdateのように、
        /// 型と対応づかない場所などに利用されます。
        /// 
        /// (ex.)
        /// addFixedValue("XXX_DATE", "sysdate");
        /// 
        /// </summary>
        /// <param name="column"></param>
        /// <param name="value"></param>
        void addFixedValue(string column, string value);

        /// <summary>
        /// 2012.12.28 kondo
        /// このメソッドは、用途が無いため不要としました。
        /// 
        /// 更新したくないカラムを指定します。
        /// 登録ではなく、更新処理が実行された場合、
        /// 指定したカラムに対しては更新処理が実行されません。
        /// </summary>
        /// <param name="column"></param>
        //void addMaskedColumn(string column);

    }
}
